home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / extras / programm / gemfsc20 / gemfsc20.lzh / GEMFBIND / VSTPOINT.S < prev    next >
Text File  |  1993-03-26  |  2KB  |  57 lines

  1. ;*========================================================================
  2. ;* VDIFAST Public Domain VDI bindings.
  3. ;*========================================================================
  4.  
  5.  
  6. ;*------------------------------------------------------------------------
  7. ;* Set character height, points mode.
  8. ;*------------------------------------------------------------------------
  9.  
  10.           globl     _vst_point
  11. _vst_point:
  12.  
  13. ;      .cargs      #8,handle.w,height.w,charw.l,charh.l,cellw.l,cellh.l
  14.  
  15. handle      =         8
  16. height      =         10
  17. charw      =         12
  18. charh      =         16
  19. cellw      =         20
  20. cellh      =         24
  21.  
  22.           link        a6,#-10             ;* Allocate ptsout[4], intout[1].
  23.  
  24. ;          VContrl    #107,,,#1
  25.           move.w    handle(a6),-(sp)    ; contrl[6]
  26.           clr.l     -(sp)                ; contrl[5,4]
  27.           move.w    #1,-(sp)            ; contrl[3]
  28.           subq.l    #2,sp                ; contrl[2]
  29.           clr.w     -(sp)                ; contrl[1]
  30.           move.w    #107,-(sp)            ; contrl[0]
  31.  
  32.           pea        -8(a6)                ;* -> ptsout
  33.           pea        -10(a6)             ;* -> intout
  34.           subq.l    #4,sp                ;* -> ptsin
  35.           pea        height(a6)            ;* -> intin
  36.           pea        16(sp)                ;* -> contrl
  37.  
  38.           move.l    sp,d1
  39.           jsr        vditrap
  40.  
  41.           move.w    -10(a6),d0            ;* Return pt size from intout[0]
  42.  
  43.           lea        -8(a6),a1            ;* a1 -> ptsout[0] on stack.
  44.           move.l    charw(a6),a0        ;* Return character width
  45.           move.w    (a1)+,(a0)            ;* from ptsout[0].
  46.           move.l    charh(a6),a0        ;* Return character height
  47.           move.w    (a1)+,(a0)            ;* from ptsout[1].
  48.           move.l    cellw(a6),a0        ;* Return cell width
  49.           move.w    (a1)+,(a0)            ;* from ptsout[2].
  50.           move.l    cellh(a6),a0        ;* Return cell height
  51.           move.w    (a1),(a0)            ;* from ptsout[3].
  52.  
  53.           unlk        a6
  54.           rts
  55.  
  56.           end
  57.